Skip to content

docs: document and demonstrate the fluent Pipeline API - #275

Merged
Chris-Wolfgang merged 1 commit into
mainfrom
docs/pipeline-guide
Jul 18, 2026
Merged

docs: document and demonstrate the fluent Pipeline API#275
Chris-Wolfgang merged 1 commit into
mainfrom
docs/pipeline-guide

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Closes the pipeline documentation gap identified while reviewing #245.

Why

  • The docfx Quick Start was an empty placeholder (// Add your quick start code example here).
  • No example project used the fluent Pipeline API — all six demonstrate manual IAsyncEnumerable wiring.
  • DisposeStagesOnCompletion() (added in feat: opt-in Pipeline.DisposeStagesOnCompletion() (#133) #245) was undocumented, and the README still claimed the pipeline "never disposes the stages you hand it" — now false.

What

  • docfx getting-started.md — replaced the placeholder Quick Start with a complete walkthrough: implementing an extractor/transformer/loader, composing them with Pipeline.Extract(...).Transform(...).Load(...).RunAsync(), and the optional capabilities (cancellation, progress, naming, stage disposal). Filled the Prerequisites placeholder.
  • docfx introduction.md — real overview + key-features list covering the pipeline.
  • README.md — corrected the stale "never disposes" line and added a Disposing stages subsection (reverse-order teardown, IAsyncDisposable preference, exception surfacing) matching the IPipeline XML docs.
  • Example7-FluentPipeline (Net8.0 + Net4.8) — a runnable end-to-end demo of the fluent API, wired into the solution under the existing Net80/Net48 folders.

Verification

  • Both Example7 projects build clean (0 warnings, 0 errors).
  • dotnet restore ETL-Abstractions.sln succeeds — the hand-checked solution wiring is valid.

Docs + example only; no changes to src/.

The pipeline was only lightly documented — the docfx Quick Start was an empty
placeholder, no example project used the fluent API (all six demonstrate manual
IAsyncEnumerable wiring), and DisposeStagesOnCompletion (added in #245) was
undocumented while the README still claimed the pipeline 'never disposes' the
stages you hand it.

- docfx getting-started: replace the placeholder Quick Start with a full
  extractor/transformer/loader walkthrough, the fluent composition, and the
  optional capabilities (cancellation, progress, naming, stage disposal); fill
  the Prerequisites placeholder.
- docfx introduction: real overview + key-features list covering the pipeline.
- README: correct the stale 'never disposes' line and add a 'Disposing stages'
  subsection documenting DisposeStagesOnCompletion (reverse order, IAsyncDisposable
  preference, exception surfacing).
- examples: add Example7-FluentPipeline (Net8.0 + Net4.8), a runnable end-to-end
  demonstration of Pipeline.Extract().Transform().Load().WithName().RunAsync(),
  wired into the solution. Both build clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 18, 2026 17:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants